
// 入口函数
$(function () {

    // 需求1：点击a链接，显示隐藏盒子
    $('#loginBox a').on('click', function () {
        // 点击登录页的a 显示注册区域，隐藏登录区域
        $('#regBox').show()
        $('#loginBox').hide()
    })

    $('#regBox a').on('click', function () {
        // 点击登录页的a 显示登录区域，隐藏注册区域
        $('#loginBox').show()
        $('#regBox').hide()
    })

    // 需求2：定义校验规则
    const form = layui.form   //用变量接收layui中的form
    // 定义校验规则使用的是form.verify()
    // 参数是对象，属性是校验名称，值是校验规则
    form.verify({
        // 值有两种类型：函数和数组
        username: [
            /^[a-zA-Z0-9]{1,10}$/,
            "用户名必须是1~10位字母或数子"
        ],
        password: [
            /^[a-zA-Z0-9]{6,12}$/,
            "密码是6~12位飞空白字符串"
        ],
        rePwd: function (value) {
            // value就是你给哪个标签添加这个校验规则，这个标签的值就赋给value
            let pwd = $('#regBox input[name=password]').val()
            // 如果确认密码与原密码不相等就报错
            if (pwd !== value) {
                return '两次密码不一致！'
            }
        }
    })

    const layer = layui.layer
    // 需求3：注册功能
    $('#formReg').on('submit', function (e) {
        // 阻止表单默认提交
        e.preventDefault()
        // 发送axios
        axios({
            url: '/api/reguser',
            method: 'post',
            // 不要传递对象类型，因为对象类型头信息设置的是application.json
            data: $(this).serialize()
        }).then(res => {
            //成功回调
            // console.log(res.data)
            // 判定返回数据是否正确
            if (res.data.status !== 0) {
                // return alert(res.data.message)
                return layer.msg(res.data.message)
            }
            // 成功后，提示
            layer.msg("恭喜您注册成功！")
            // 切换到登录模块
            $('#regBox a').click()
            // 清空表单 DOM对象中reset()清空表单
            $('#formReg')[0].reset()
        })
    })

    // 需求4：登录功能
    $('#formLogin').on('submit', function (e) {
        // 阻止表单默认提交
        e.preventDefault()
        // 发送axios
        axios({
            url: '/api/login',
            method: 'post',
            // 不要传递对象类型，因为对象类型头信息设置的是application.json
            data: $(this).serialize()
        }).then(res => {
            //成功回调
            // console.log(res.data)
            // 判定返回数据是否正确
            if (res.data.status !== 0) {
                // return alert(res.data.message)
                return layer.msg(res.data.message)
            }
            // 成功后，提示
            layer.msg("恭喜您,登录成功！")
            localStorage.setItem('token', res.data.token)
            // 网页跳转至首页
            location.href = '/index.html'
        })
    })
})